(define loop
  (lambda (sym flist)
    (if (not (procedure? sym))
          (error 'loop "procedure expected") 
    )
    (if (not (list? flist))
          (error 'loop "list expected") 
    )
	(do ((f flist (cdr f)))((null? f)) (sym (car f)))
  )
)

